package com.yanqu.road.entity.activity.suitang.entity.rank;

import java.util.Comparator;

/**
 * 战斗排序器
 * value
 * param
 * 按照存活时间排序，大的排前面，一样的话按param参数依次排序，都是大的排前面
 */
public class CrossSuiTangSpecialRankSort implements Comparator<CrossSuiTangSpecialRank> {

    @Override
    public int compare(CrossSuiTangSpecialRank o1, CrossSuiTangSpecialRank o2) {
        if (o1.getValue() != o2.getValue()) {
            // 降序
            return Long.compare(o2.getValue(), o1.getValue());
        } else {
            String[] paramList1 = o1.getParam().split("#");
            String[] paramList2 = o2.getParam().split("#");

            for (int i = 0; i < paramList1.length; i++) {
                long param1 = Long.parseLong(paramList1[i]);
                long param2 = Long.parseLong(paramList2[i]);

                // 对于时间(索引为2)，按照小的排在前面，其他还是大的排在前面
                if (param1 != param2) {
                    if (i == 2) {
                        // 升序
                        return Long.compare(param1, param2);
                    } else {
                        // 降序
                        return Long.compare(param2, param1);
                    }
                }
            }
        }
        return 0;
    }
}
